1. Field
The present application relates generally to computer-based systems and applications, and more specifically to online social networking.
2. Related Art
The use of computer-implemented objects to represent items on the World Wide Web is known in the art. An object may represent a real-world item and may have attributes, e.g., associated values, which describe the item. For example, each item for sale on an auction site such as eBay® may be represented by an object having attributes such as name, price, seller, and the like. As another example, each type of item for sale on an online shopping site, such as Amazon.com®, may be represented by an object having attributes such as name, price, quantity in stock, customer rating, and the like. As yet another example, each person on a social networking web site may be represented as an object having attributes such as name, email address, interests, location, and friends.
Each object may be unconstrained by a type, or may be an instance of a type that specifies the particular attributes that are associated with objects of the type. Such type information may include a “schema” that, in one aspect, defines a template for the attributes of the type. The schema may be, for example, a list of attribute names and corresponding attribute types. The attribute types may be omitted, in which case the attributes may be represented as string values, or other types of values, and the attributes may all have the same type, or no specific type. For example, an auction listing type may be associated with a schema specifying that a name, price, and seller are to be associated with each object of the auction listing type. The schema may specify types for the name, price, and seller attributes, e.g., string, numeric, and string, respectively. If the schema does not specify types for the attributes, the attributes may be represented as, for example, string values. The schema may be used, for example, in displaying the object and collecting information about the object. The schema may also be used for data validation purposes, e.g., to verify that the necessary attributes are filled in and used for each object of the type. Existing online services allow users to create and modify objects, e.g., items for sale on eBay, or reviews on Yelp®.